MATLAB知识点:条件判断switch

您所在的位置:网站首页 matlab 字符串判断 MATLAB知识点:条件判断switch

MATLAB知识点:条件判断switch

2024-06-20 20:25| 来源: 网络整理| 查看: 265

 ​讲解视频:可以在bilibili搜索《MATLAB教程新手入门篇——数学建模清风主讲》。​

MATLAB教程新手入门篇(数学建模清风主讲,适合零基础同学观看)_哔哩哔哩_bilibili

节选自​第4章:MATLAB程序流程控制

switch翻译成中文为开关,switch语句是另一种实现条件语句的方法,其基本用法如下:

switch语句在运行时,会将开关表达式的值依次和各个 case后面的表达式的值判断是否相等,如果相等则为true,此时会执行该case中相应的语句;如果不相等则为false,此时会取下一个 case 后面表达式的值进行比较,直到出现true为止。如果所有case 后面表达式的值均与开关表达式的值不相等,则执行 otherwise 中对应的语句。

注意:开关表达式的计算结果必须是一个数值标量或者是一个字符向量/字符串,不能是向量或者矩阵。若为数值标量,则当case后面表达式中的值等于开关表达式的数值标量时为true;若为字符向量或字符串,则当case后面表达式中的字符向量/字符串和开关表达式的字符向量/字符串完全相同时为true。下面举两个例子帮助大家理解:

season = randi([1,4]) % 季节 switch season case 1 disp("第一季度为春季"); case 2 disp("第二季度为夏季"); case 3 disp("第三季度为秋季") otherwise disp("第四季度为冬季") end

season是在区间[1,4]上随机生成的一个整数,用来表示季节。switch后面的开关表达式就是season这个数值标量,程序会按照从上到下的顺序依次判断season和case后面的数值是否相等,若相等则执行对应的语句。若season取值为4,则和case后面的数值均不相等,此时程序会执行otherwise后面的语句。

注意:MATLAB中的单引号和双引号表示的文本有一定的区别,使用单引号引起来被称为字符向量,例如'abc',而双引号引起来的被称为字符串,例如"abc"。

上面代码中我们用到了disp函数(来自单词display),它可以将文本、数值等显示到MATLAB的窗口,disp语句是否以分号;结尾不会影响结果的输出。

例2:a和b是在区间[1,10]上随机生成的两个整数,我们希望根据变量way表示的字符串决定对a和b的计算方式。

a = randi(10) b = randi(10) way = "乘法"; switch way case "加法" disp(a+b) case "减法" disp(a-b) case "乘法" disp(a*b) case "除法" disp(a/b) otherwise disp("你的输入有误") end

switch后面的开关表达式就是way表示的字符串,程序会按照从上到下的顺序依次判断way和case后面的字符串是否相同,若相同则执行对应的语句。例如way等于“乘法”,则程序会先判断第一个case,第一个case为“加法”,字符串不相同,则会继续判断第二个case,第二个case的字符串和way的字符串也不同,则会判断第三个case,此时字符串一致,程序会执行disp(a*b)这一行语句,假设a为5、b为3,则会在窗口输出15。

易错点:和if语句一样,switch语句必须以end结束,千万不能漏写!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3